38 research outputs found

    Fine-grained Metrics of Cohesion Lack for Service Interfaces

    Get PDF
    International audienceA design issue that often appears in real-world services is that their interfaces are not cohesive, i.e., they consist of many and possibly unrelated operations. This issue may complicate the comprehension of the services functionalities and the maintenance of the applications that use them. Currently, the state of the art on cohesion metrics for service interfaces is limited. In particular, there exist coarse-grained metrics of cohesion lack, which consider that the operations of a service interface are related if the types of certain of their input/output data exactly match. The problem in this approach is that operations which operate on data characterized by similar, but not exactly matching, types are treated as being totaly unrelated. Consequently, the aforementioned metrics may overestimate the cohesion lack of service interfaces. In this paper, we undertake a more elaborate approach. Specifically, we propose two fine-grained metrics of cohesion lack, which are defined with respect to the structural similarity of the input/output data types of interface operations. The proposed metrics are formally defined and analytically assessed with respect to fundamental properties of software metrics. Moreover, the usefulness of the metrics in identifying cohesion problems is evaluated in real-world services

    Service Substitution Revisited

    Get PDF
    International audienceThe current state of the art concerning the problem of service substitution raises the following issue: the complexity of the substitution process scales up with the number of available services that may serve as candidate substitutes for a target service. To deal with this issue, we propose a framework that is based on two substitution relations and corresponding theorems. The proposed relations and theorems allow organizing available services into groups. Then, the complexity of retrieving candidate substitute services for the target service and generating corresponding adapters scales up with the number of available groups, instead of scaling up with the number of available services

    ForeverSOA: Towards the Maintenance of Service Oriented Software

    Get PDF
    International audienceIn this position paper, we argue about the need to adapt/refine fundamental object-oriented design principles with respect to the specificities of service- oriented software, to address realistic maintenance scenarios. Moreover, we sketch an approach that relies on a reverse engineering process, which recovers service abstractions out of available services, to enable the adoption of the refined principles in the development of service-oriented software towards improving its maintainability quality attribute

    Deep Learning Framework for Online Interactive Service Recommendation in Iterative Mashup Development

    Full text link
    Recent years have witnessed the rapid development of service-oriented computing technologies. The boom of Web services increases the selection burden of software developers in developing service-based systems (such as mashups). How to recommend suitable follow-up component services to develop new mashups has become a fundamental problem in service-oriented software engineering. Most of the existing service recommendation approaches are designed for mashup development in the single-round recommendation scenario. It is hard for them to update recommendation results in time according to developers' requirements and behaviors (e.g., instant service selection). To address this issue, we propose a deep-learning-based interactive service recommendation framework named DLISR, which aims to capture the interactions among the target mashup, selected services, and the next service to recommend. Moreover, an attention mechanism is employed in DLISR to weigh selected services when recommending the next service. We also design two separate models for learning interactions from the perspectives of content information and historical invocation information, respectively, as well as a hybrid model called HISR. Experiments on a real-world dataset indicate that HISR outperforms several state-of-the-art service recommendation methods in the online interactive scenario for developing new mashups iteratively.Comment: 15 pages, 6 figures, and 3 table

    Mining Service Abstractions (NIER Track)

    Get PDF
    International audienceSeveral lines of research rely on the concept of service abstractions to enable the organization, the composition and the adaptation of services. However, what is still missing, is a systematic approach for extracting service abstractions out of the vast amount of services that are available all over theWeb. To deal with this issue, we propose an approach for mining service abstractions, based on an agglomerative clustering algorithm. Our experimental ndings suggest that the approach is promising and can serve as a basis for future research

    Cohesion-Driven Decomposition of Service Interfaces without Access to Source Code

    Get PDF
    International audience—Software cohesion concerns the degree to which the elements of a module belong together. Cohesive software is easier to understand, test and maintain. In the context of service-oriented development, cohesion refers to the degree to which the operations of a service interface belong together. In the state of the art, software cohesion is improved based on refactoring methods that rely on information, extracted from the software implementation. This is a main limitation towards using these methods in the case of Web services: Web services do not expose their implementation; instead all that they export is the Web service interface specification. To deal with this problem, we propose an approach that enables the cohesion-driven decomposition of service interfaces, without information on how the services are implemented. Our approach progressive decomposes a given service interface into more cohesive interfaces; the backbone of the approach is a suite of cohesion metrics that rely on information, extracted solely from the specification of the service interface. We validate the approach in 22 real-world services, provided by Amazon and Yahoo. We assess the effectiveness of the proposed approach, concerning the cohesion improvement, and the number of interfaces that result from the decomposition of the examined interfaces. Moreover, we show the usefulness of the approach in a user study, where developers assessed the quality of the produced interfaces

    Cohesion-Driven Decomposition of Service Interfaces Without Access to Source Code

    Get PDF
    Software cohesion concerns the degree to which the elements of a module belong together. Cohesive software is easier to understand, test and maintain. Improving cohesion is the target of several refactoring methods that have been proposed until now. These methods are tailored to operate by taking the source code into consideration. In the context of service-oriented development, cohesion refers to the degree to which the operations of a service interface belong together. In this context, we propose an approach for the cohesion-driven decomposition of service interfaces. The very philosophy of services dictates that all that is exported by a service is the service specification. Hence, our approach for the cohesion-driven decomposition of service interfaces is not based on how the services are implemented. Instead, it relies only on information provided in the specification of the service interfaces. We validate the approach in 22 real-world services provided by Amazon and Yahoo. We show the effectiveness of the proposed approach, concerning the cohesion improvement and the size of the produced decompositions. Moreover, we show that the proposed approach is useful, by conducting a user study, where developers assessed the quality of the produced decompositions

    Final CHOReOS Architectural Style and its Relation with the CHOReOS Development Process and IDRE

    Get PDF
    This is Part b of Deliverable D1.4, which specifies the final CHOReOS architectural style, that is, the types of components, connectors, and configurations that are composed within the Future Internet of services, as enabled by the CHOReOS technologies developed in WP2 to WP4 and integrated in the WP5 IDRE. The definition of the CHOReOS architectural style is especially guided by the objective of meeting the challenges posed by the Future Internet, i.e.: (i) the ultra large base of services and of consumers, (ii) the high heterogeneity of the services that get composed, from the ones offered by tiny things to the ones hosted on powerful cloud computing infrastructures, (iii) the increasing predominance of mobile consumers and services, which take over the original fixed Inter- net, and (iv) the required awareness of, and related adaptation to, the continuous environmental changes. Another critical challenge posed by the Future Internet is that of security, trust and privacy. However, the study of technologies dedicated to enforcing security, privacy and trust is beyond the scope of the CHOReOS project; instead, state of the art technologies and possibly latest results from projects focused on security solutions are built upon for the development of CHOReOS use cases -if and when needed-. The CHOReOS architectural style that is presented in this deliverable refines the definition of the early style introduced in Deliverable D1.3. Key features of the CHOReOS architectural elements are as follows: (1) The CHOReOS service-based components are technology agnostic and allow for the abstraction of the large diversity of Future Internet services, and particularly traditional Business services as well as Thing-based services; a key contribution of the component formalization lies in the inference of service abstractions that allows grouping services that are functionally similar in a systematic way, and thereby contributes to facing the ULS of the Future Internet together with dealing with system adaptation through service substitution. (2) The CHOReOS middleware-layer connectors span the variety of interaction paradigms, both discrete and continuous, which are used in today's increasingly complex distributed systems, as opposed to enforcing a single interaction paradigm that is commonly undertaken in traditional SOA; a central contribution of the connector formalization is the introduction of a multi-paradigm connector type, which not solely allows having highly heterogeneous services composed in the Future Internet but also having those heterogeneous services interoperating even if based on distinct interaction paradigms. (3) The CHOReOS coordination protocols introduce the third and last type of architectural elements char- acterizing the CHOReOS style. They specifically define the structure and behavior of service-oriented systems within the Future Internet as the fully distributed composition of services, i.e., choreographies; the key contribution of the work lies in a systematic model-based solution to choreography realizability, which synthesizes dedicated coordination delegates that govern the coordination of services

    Integrated CHOReOS middleware - Enabling large-scale, QoS-aware adaptive choreographies

    Get PDF
    This document describes the final implementation and the evaluation of the CHOReOS middleware. Evaluation is achieved both via the use of the middleware on CHOReOS use-cases and via synthetic experiments and simulation. The conclusion was that the implementation of the CHOReOS middleware has achieved a good level of maturity for an open source project and it is ready to be used in real-world, complex choreographies
    corecore